/*
    This file is part of Emu.

    Emu is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Emu is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Emu.  If not, see <http://www.gnu.org/licenses/>. */
#ifndef ESESSPREFS_H
# define ESESSPREFS_H

# include <QColor>
# include <QList>

# include "ecolordefs.h"
# include "ealias.h"
# include "emacro.h"
# include "etrigger.h"

class EProfile
{
public:
    EProfile();

    QString aliasReplace(QString);
    QString macroText(int, int *);

    QColor *colors();

    void setAliases(QList <EAlias> a) { _aliases = a; }
    void setColor(int i, QColor c) { _colors[i] = c; }
    void setHostName(QString name) { _hostName = name; }
    void setHostAddress(QString addr) { _hostAddress = addr; }
    void setHostPort(QString port) { _hostPort = port; }
    void setMacros(QList <EMacro> m) { _macros = m; }
    void setProfilePath(QString p) { _profilePath = p; }
    void setTitle(QString t) { _title = t; }
    void setTriggers(QList <ETrigger> t) { _triggers = t; }

    QColor color(int i) { return _colors[i]; }
    QList <EAlias> aliases() { return _aliases; }
    QList <EMacro> macros() { return _macros; }
    QList <ETrigger> triggers() { return _triggers; }
    QString profilePath() { return _profilePath; }
    QString title() { return _title; }
    QString hostName() { return _hostName; }
    QString hostAddress() { return _hostAddress; }
    QString hostPort() { return _hostPort; }

private:
    QColor _colors[C_NUM_COLORS];
    QList <EAlias> _aliases;
    QList <EMacro> _macros;
    QList <ETrigger> _triggers;
    QString _profilePath;
    QString _title;
    QString _hostName;
    QString _hostAddress;
    QString _hostPort;
};

#endif
